\chapter{Description globale}
\label{chap:desc.globale}
\minitoc


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Les briques existantes}
\label{sec:briques.existantes}
JASMINe monitoring est un ensemble d'outils permettant l'administration d'une infrastructure distribu\'ee.
Ses \'el\'ements constitutifs sont les suivants :
\begin{itemize}
 \item Des sondes avec MBeanCmd
 \item Un bus de messages : l'EventSwitch
 \item Un moteur de r\`egles : Drools
 \item Une console web : JASMINe EoS
\end{itemize}

Ces \'el\'ements sont d\'ecrits dans le Cahier des charges, section 2.1.2.

%------------------------------------------------------------%
\subsection{Architecture}
\label{subsec:briques.existantes.archi}
Le sch\'ema \ref{fig:architecture} pr\'esente les diff\'erentes briques indispensables au fonctionnement du projet. 
\begin{figure}
   \includegraphics[width=1.0\textwidth]{Description/architecture}
   \caption{\label{fig:architecture} L'architecture g\'en\'erale}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{D\'ecoupage fonctionnel}

Le d\'ecoupage fonctionnel se d\'eduit de l'architecture g\'en\'erale et d\'elimite le cadre du travail. Quatre principales parties ont \'et\'e 
d\'etermin\'ees:

\subsection{Le client}
Celui-ci se compose principalement de trois interfaces, une interface d'\'edition de r\`egles, une interface de visualisation des notifications et 
une interface d'\'edition de notifications. L'interface d'\'edition de r\`egles et l'interface d'\'edition de notifications sont pratiquement les m\^emes.

\subsection{Le mod\`ele de donn\'ees}
Le mod\`ele de donn\'ees mod\'elise la repr\'esentation formelle des donn\'ees. Elle se compose de deux parties : un mod\`ele Front-end, plus proche 
de la 
vision utilisateur, et un mod\`ele Back-end, calqu\'ee sur le Front-end et permettant la persistance des donn\'ees. Cette partie n\'ecessite alors 
une 
intervention sur le Front-end applicatif et sur l'EventSwitch o\`u sont persist\'ees les notifications.

\subsection{Les actions syst\`eme}
Dans une r\`egle, l'utilisateur devra d\'efinir une action correspondante (envoi d'un mail, affichage sur la console etc.). L'EventSwitch nous 
fournit 
des outils permettant de d\'efinir et d'ex\'ecuter ces diff\'erentes actions.
Pour l'injection des r\`egles dans le moteur,
nous utiliserons un ensemble de biblioth\`eque fournis par un projet, \verb|jasmine-autonomous|, afin d'injecter les r\`egles dans le moteur Drools.
%end Description.tex